<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
    <title>Search and Navigation</title>
    <link rel="stylesheet" type="text/css" href="../help.css"/>
  </head>
<body>
<div><h1>Open Declaration
</h1><p>The <b>Open Declaration</b> command allows you to quickly find the declaration of a particular variable or subprogram.  In the Fortran editor, click on (or select) an identifier. Then either
</p><ul><li>click on the <b>Navigate</b> menu, and select <b>Open Declaration</b>, or
</li><li>right-click on the identifier, and, and select <b>Open Declaration</b>, or
</li><li>press the <b>F3</b> key on your keyboard.
</li></ul><p>This feature is particularly useful when the declaration is in another file.  For example, if your program contains a <tt>CALL</tt> statement which invokes a subroutine imported from a module in another file, invoking <b>Open Declaration</b> on the subroutine name in the <tt>CALL</tt> statement will open the module in a new editor, and the cursor will be located on the declaration of that subroutine.
</p><h1>Fortran Search
</h1><p>Fortran Search is a syntax-aware, multi-file search tool. Unlike textual searches, Fortran Search &quot;understands&quot; Fortran programs.  It is used to search for a particular type of declaration (e.g., only modules, or only subroutines), or it can find all of the uses of a particular variable or subroutine. It also allows to you to limit the scope of the search (e.g., it can search every file in the workspace, or just a particular project).
In order to use Fortran Search, click on the <b>Search</b> menu and select <b>Fortran...</b>
<center>
<img src="../images/OpenSearch.jpg"></center><br>
This will open the Eclipse Search dialog, and the Fortran tab will be active.  There, you can specify several things:
</p><ul><li>The <b>Search for</b> frame allows you to specify whether it should search for subroutines, functions, modules, variables, etc.
</li><li>The <b>Scope</b> frame allows you to specify what file(s) will be searched.
</li><li>The <b>Limit to</b> frame allows you to specify whether you want to find declarations, references, or both.
</li></ul><p><center>
<img src="../images/SearchDeclarations.jpg"></center>
<center><small>Notice that only the declarations of variables/functions were found. Also note the use of the wild-card character(?) in the search box</small></center><br>
</p><h2>Wildcards
</h2><p>Wildcards are special symbols used for pattern matching. For more information, click on Help &gt; Help Contents in Eclipse, and navigate to Workbench User Guide &gt; Reference &gt; User interface information &gt; Search.<br>
</p><ul><li><b>*</b> - represents any number of any symbols. For example, a search for <b>*d</b> would match <b>bad, rescued, d, assembled,</b> etc.
</li><li><b>?</b> - represents any <b>one</b> single character. For example, a search for <b>?ad</b> would match <b>bad, mad, sad, dad, zad,</b> etc.<br><br>
</li></ul><p><b>Regular expressions</b> are an even more advanced pattern matching languages.  For more information, click on Help &gt; Help Contents in Eclipse and navigating to Workbench User Guide &gt; Getting started &gt; Basic tutorial &gt; Searching
</p></div>
</body>
</html>
